////普通方式求从1加到10的阶乘
//public class java0518 {
//    public static void main(String[] args) {
//        int a = 1;
//        int i = 1;
//
//        int sum = 0;
//        for(a = 1;a <= 10;a++) {
//            int b = 1;
//            for (i = 1; i <= a; i++) {
//                b *= i;
//            }
//            sum += b;
//        }
//        System.out.println(sum);
//    }
//}


////使用方法求1加到10的阶乘(将所有主执行代码写入一个方法)
//public class java0518 {
//    public static int sum(int a){
//        int sum = 0;
//        int i = 0;
//        int s = 0;
//        for(s = 1;s <= a;s++) {
//            int b = 1;
//            for (i = 1; i <= s; i++) {
//                b *= i;
//            }
//            sum += b;
//        }
//        return sum;
//    }
//
//    public static void main(String[] args) {
//        int x = sum(10);
//        System.out.println(x);
//    }
//}


////将计算一个数字的阶乘功能写入方法
//public class java0518 {
//    public static void main(String[] args) {
//        int a = 10;
//        int sum = 0;
//        int i = 0;
//        for (i = 1; i <= 10; i++) {
//            sum += num(i);
//        }
//        System.out.println(sum);
//    }
//
//        public static int num(int a)
//        {
//            int result = 1;
//            int i = 0;
//            for (i = 1; i <= a; i++) {
//                result *= i;
//            }
//            return result;
//        }
//
//    }


//public class java0518 {
//    public static void main(String[] args) {
//        add(10,20);
//        add(1.2,1.3);
//        add(1.2,1.3,1.4);
//    }
//    public static int add(int x, int y){
//        return x + y;
//    }
//    public static double add(double x, double y){
//        return x + y;
//    }
//    public static double add(double x, double y, double z){
//        return x + y + z;
//    }
//}


//递归求1+2+3...+10
//public class java0518 {
//    public static void main(String[] args) {
//        int a = 10;
//        int num = ret(10);
//        System.out.println(num);
//    }
//    public static int ret(int a){
//        if(a == 1){
//            return 1;
//        }else{
//            return a + ret(a-1);
//        }
//    }
//}


//递归求数字阶乘
public class java0518 {
    public static void main(String[] args) {
        int a = 5;
        int num = ret(5);
        System.out.println(num);
    }

    public static int ret(int a){
        if(a == 1 || a == 0){
            return 1;
        }else{
            return a * ret(a - 1);
        }
    }
}






























